Serveur d'exploration sur la recherche en informatique en Lorraine

Attention, ce site est en cours de développement !
Attention, site généré par des moyens informatiques à partir de corpus bruts.
Les informations ne sont donc pas validées.

Explicit Substitutions with de Bruijn's Levels

Identifieur interne : 00C374 ( Main/Exploration ); précédent : 00C373; suivant : 00C375

Explicit Substitutions with de Bruijn's Levels

Auteurs : Pierre Lescanne [France] ; J. Rouyer-Degli

Source :

RBID : CRIN:lescanne95b

Abstract

Calculus of explicit substitutions is a λ-calculus in which substitution is not external but is fully integrated at the same level as β~reduction. This internalisation of the substitution calculus is achieved by rewrite rules which allow a full and easy mechanism for describing β~reduction. The original goal of explicit substitutions is to provide the implementor of {\sc Automath} (and later of functional programming languages) with a finer granularity in the description of the process of substitutions, as substitutions play the central role in the implementation of those systems and languages. This way, controls that postpone costly operations may be adopted and operations that will turn out to be unnecessary will never be performed {\it (lazy evaluation)\/}. Except for a sketched attempt by Abadai, Cardelli, Curien and Levy, ({\it λσ-calculus with names\/}), all the proposed calculi use {\it De Bruijn indices\/}. That notation has two drawbacks. First, terms are hard to read due to the use of numbers instead of names and due to the fact that the ``same'' variable is designated by different numbers according to the context. Second the association between variables and their values, the so-called environment, keeps changing whenever one leaves or enters an abstraction. To our knowledge ``levels'' were only mentioned twice in the literature, first by de Bruijn and later by Crégut in his PhD, but never in the framework of explicit substitutions. Both authors suggest a canonical indexing of the variables ; Crégut calls it ``reversed De Bruijn indexing''. To make formulas as readable as in the classical λ-calculus, we give each variable a name made from its index and that name is the same everywhere in a pure term, i.e., a term without {\it closure\/} (see below) unlike classical De Bruijn index. Two important features of λ\chi are the absence of variables of type {\it substitution\/} and the absence of composition of substitutions. Of course, the λ-calculus describes variables, but they are seen as constants by the rewrite system λ\chi and they will be called {\it names\/} in what follows. The only variables of λ\chi (those which play an actual role in the rewrite system) are of type {\sl Term\/} and of type {\sl Nat\/}.


Affiliations:


Links toward previous steps (curation, corpus...)


Le document en format XML

<record>
<TEI>
<teiHeader>
<fileDesc>
<titleStmt>
<title xml:lang="en" wicri:score="39">Explicit Substitutions with de Bruijn's Levels</title>
</titleStmt>
<publicationStmt>
<idno type="RBID">CRIN:lescanne95b</idno>
<date when="1995" year="1995">1995</date>
<idno type="wicri:Area/Crin/Corpus">001943</idno>
<idno type="wicri:Area/Crin/Curation">001943</idno>
<idno type="wicri:explorRef" wicri:stream="Crin" wicri:step="Curation">001943</idno>
<idno type="wicri:Area/Crin/Checkpoint">002B86</idno>
<idno type="wicri:explorRef" wicri:stream="Crin" wicri:step="Checkpoint">002B86</idno>
<idno type="wicri:Area/Main/Merge">00CC31</idno>
<idno type="wicri:Area/Main/Curation">00C374</idno>
<idno type="wicri:Area/Main/Exploration">00C374</idno>
</publicationStmt>
<sourceDesc>
<biblStruct>
<analytic>
<title xml:lang="en">Explicit Substitutions with de Bruijn's Levels</title>
<author>
<name sortKey="Lescanne, P" sort="Lescanne, P" uniqKey="Lescanne P" first="P." last="Lescanne">Pierre Lescanne</name>
<affiliation>
<country>France</country>
<placeName>
<settlement type="city">Nancy</settlement>
<region type="region" nuts="2">Grand Est</region>
<region type="region" nuts="2">Lorraine (région)</region>
</placeName>
<orgName type="laboratoire" n="5">Laboratoire lorrain de recherche en informatique et ses applications</orgName>
<orgName type="university">Université de Lorraine</orgName>
<orgName type="institution">Centre national de la recherche scientifique</orgName>
<orgName type="institution">Institut national de recherche en informatique et en automatique</orgName>
</affiliation>
</author>
<author>
<name sortKey="Rouyer Degli, J" sort="Rouyer Degli, J" uniqKey="Rouyer Degli J" first="J." last="Rouyer-Degli">J. Rouyer-Degli</name>
</author>
</analytic>
</biblStruct>
</sourceDesc>
</fileDesc>
<profileDesc>
<textClass></textClass>
</profileDesc>
</teiHeader>
<front>
<div type="abstract" xml:lang="en" wicri:score="5360">Calculus of explicit substitutions is a λ-calculus in which substitution is not external but is fully integrated at the same level as β~reduction. This internalisation of the substitution calculus is achieved by rewrite rules which allow a full and easy mechanism for describing β~reduction. The original goal of explicit substitutions is to provide the implementor of {\sc Automath} (and later of functional programming languages) with a finer granularity in the description of the process of substitutions, as substitutions play the central role in the implementation of those systems and languages. This way, controls that postpone costly operations may be adopted and operations that will turn out to be unnecessary will never be performed {\it (lazy evaluation)\/}. Except for a sketched attempt by Abadai, Cardelli, Curien and Levy, ({\it λσ-calculus with names\/}), all the proposed calculi use {\it De Bruijn indices\/}. That notation has two drawbacks. First, terms are hard to read due to the use of numbers instead of names and due to the fact that the ``same'' variable is designated by different numbers according to the context. Second the association between variables and their values, the so-called environment, keeps changing whenever one leaves or enters an abstraction. To our knowledge ``levels'' were only mentioned twice in the literature, first by de Bruijn and later by Crégut in his PhD, but never in the framework of explicit substitutions. Both authors suggest a canonical indexing of the variables ; Crégut calls it ``reversed De Bruijn indexing''. To make formulas as readable as in the classical λ-calculus, we give each variable a name made from its index and that name is the same everywhere in a pure term, i.e., a term without {\it closure\/} (see below) unlike classical De Bruijn index. Two important features of λ\chi are the absence of variables of type {\it substitution\/} and the absence of composition of substitutions. Of course, the λ-calculus describes variables, but they are seen as constants by the rewrite system λ\chi and they will be called {\it names\/} in what follows. The only variables of λ\chi (those which play an actual role in the rewrite system) are of type {\sl Term\/} and of type {\sl Nat\/}.</div>
</front>
</TEI>
<affiliations>
<list>
<country>
<li>France</li>
</country>
<region>
<li>Grand Est</li>
<li>Lorraine (région)</li>
</region>
<settlement>
<li>Nancy</li>
</settlement>
<orgName>
<li>Centre national de la recherche scientifique</li>
<li>Institut national de recherche en informatique et en automatique</li>
<li>Laboratoire lorrain de recherche en informatique et ses applications</li>
<li>Université de Lorraine</li>
</orgName>
</list>
<tree>
<noCountry>
<name sortKey="Rouyer Degli, J" sort="Rouyer Degli, J" uniqKey="Rouyer Degli J" first="J." last="Rouyer-Degli">J. Rouyer-Degli</name>
</noCountry>
<country name="France">
<region name="Grand Est">
<name sortKey="Lescanne, P" sort="Lescanne, P" uniqKey="Lescanne P" first="P." last="Lescanne">Pierre Lescanne</name>
</region>
</country>
</tree>
</affiliations>
</record>

Pour manipuler ce document sous Unix (Dilib)

EXPLOR_STEP=$WICRI_ROOT/Wicri/Lorraine/explor/InforLorV4/Data/Main/Exploration
HfdSelect -h $EXPLOR_STEP/biblio.hfd -nk 00C374 | SxmlIndent | more

Ou

HfdSelect -h $EXPLOR_AREA/Data/Main/Exploration/biblio.hfd -nk 00C374 | SxmlIndent | more

Pour mettre un lien sur cette page dans le réseau Wicri

{{Explor lien
   |wiki=    Wicri/Lorraine
   |area=    InforLorV4
   |flux=    Main
   |étape=   Exploration
   |type=    RBID
   |clé=     CRIN:lescanne95b
   |texte=   Explicit Substitutions with de Bruijn's Levels
}}

Wicri

This area was generated with Dilib version V0.6.33.
Data generation: Mon Jun 10 21:56:28 2019. Site generation: Fri Feb 25 15:29:27 2022